#!/usr/bin/env node

// 数据库服务独立启动脚本
// 用于在系统启动时单独启动数据库服务并完成初始化

const path = require('path');
const { defaultDatabaseService } = require('../database-service');

async function startDatabaseService() {
  console.log('🚀 启动数据库服务...');
  
  try {
    // 初始化数据库服务
    console.log('🔌 正在连接数据库...');
    await defaultDatabaseService.connect();
    console.log('✅ 数据库服务启动成功并完成初始化');
    
    // 保持服务运行
    console.log('⏳ 数据库服务正在运行...');
    
    // 监听退出信号
    process.on('SIGINT', async () => {
      console.log('\n🛑 正在关闭数据库服务...');
      await defaultDatabaseService.disconnect();
      console.log('✅ 数据库服务已关闭');
      process.exit(0);
    });
    
    process.on('SIGTERM', async () => {
      console.log('\n🛑 正在关闭数据库服务...');
      await defaultDatabaseService.disconnect();
      console.log('✅ 数据库服务已关闭');
      process.exit(0);
    });
    
  } catch (error) {
    console.error('❌ 数据库服务启动失败:', error.message);
    process.exit(1);
  }
}

// 运行数据库服务
if (require.main === module) {
  startDatabaseService();
}

module.exports = { startDatabaseService };